/* 
 * File:   Dibujador.h
 * Author: nahuel
 *
 * Created on November 3, 2012, 11:16 AM
 */

#ifndef DIBUJADOR_H
#define	DIBUJADOR_H

#include <gtkmm-3.0/gtkmm/drawingarea.h>
#include <gdkmm/pixbuf.h>

/* Esta clase simplemente dibuja cosas en un Gtk::DrawingArea.
   Es la que tendrá que utilizar el diseñador de niveles para dibujar las
   entidades del juego.
 */

class Dibujador {
private:
	Gtk::DrawingArea* _drawingArea;
    
//    // Pajaros
//	Glib::RefPtr<Gdk::Pixbuf> _imagenPajaroRojo;
//	Glib::RefPtr<Gdk::Pixbuf> _imagenPajaroVerde;
//	Glib::RefPtr<Gdk::Pixbuf> _imagenPajaroAzul;//    
//    // Cerdito
//	Glib::RefPtr<Gdk::Pixbuf> _imagenCerdito;
//    
//    // Huevos
//	Glib::RefPtr<Gdk::Pixbuf> _imagenHuevoPoche;
//	Glib::RefPtr<Gdk::Pixbuf> _imagenHuevoReloj;
//	Glib::RefPtr<Gdk::Pixbuf> _imagenHuevoCodorniz;
//	Glib::RefPtr<Gdk::Pixbuf> _imagenHuevoBlanco;	
//    
//    // Cajas
//	Glib::RefPtr<Gdk::Pixbuf> _imagenCajaMadera;
//	Glib::RefPtr<Gdk::Pixbuf> _imagenCajaMetal;
//	Glib::RefPtr<Gdk::Pixbuf> _imagenCajaVidrio;
//    
//    // Catapulta
//	Glib::RefPtr<Gdk::Pixbuf> _imagenCatapulta;
//    
//    // Frutas
//	Glib::RefPtr<Gdk::Pixbuf> _imagenManzana;
//	Glib::RefPtr<Gdk::Pixbuf> _imagenBanana;
//	Glib::RefPtr<Gdk::Pixbuf> _imagenCereza;   
//    
//    // Imagen de fondo
//    Glib::RefPtr<Gdk::Pixbuf> _fondo;
		
public:
	Dibujador(Gtk::DrawingArea* drawingArea);
    
//	void SetImagenPajaroRojo(std::string pathImagen);
//	void SetImagenPajaroVerde(std::string pathImagen);
//	void SetImagenPajaroAzul(std::string pathImagen);
//    
//	void SetImagenCerdito(std::string pathImagen);
//    
//    void SetImagenHuevoPoche(std::string pathImagen);
//    void SetImagenHuevoReloj(std::string pathImagen);
//    void SetImagenHuevoCodorniz(std::string pathImagen);
//    void SetImagenHuevoBlanco(std::string pathImagen);
//    
//	void SetImagenCajaMadera(std::string pathImagen);
//	void SetImagenCajaMetal(std::string pathImagen);
//	void SetImagenCajaVidrio(std::string pathImagen);
//    
//    void SetImagenCatapulta(std::string pathImagen);	
//	
//	void SetImagenManzana(std::string pathImagen);
//	void SetImagenBanana(std::string pathImagen);
//	void SetImagenCereza(std::string pathImagen);
//    
//    void SetImagenFondo(std::string pathImagen);
    
	void DibujarFondo(Glib::RefPtr<Gdk::Pixbuf>& imagen);
	void DibujarEntidad(Glib::RefPtr<Gdk::Pixbuf>& imagen, 
                        unsigned int x,
                        unsigned int y);
//	void DibujarCerdito(unsigned int x, unsigned int y);
//	void DibujarCaja(unsigned int x, unsigned int y);
	void DibujarLinea(unsigned int x1, unsigned int y1, 
					  unsigned int x2, unsigned int y2);
	virtual ~Dibujador();
};

#endif	/* DIBUJADOR_H */

